﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace System.Windows.Media.DirectShow
{
    public class MediaEventArgs : EventArgs
    {

        private MediaNotification _notification;
        private IBaseFilter _filter;

        public MediaEventArgs(IBaseFilter filter, MediaNotification notification)
        {
            if (filter == null)
                throw new ArgumentNullException("filter");
            this._filter = filter;
            this._notification = notification;
        }

        public MediaEventArgs(MediaNotification mediaEvent)
        {
            this._notification = mediaEvent;
        }

        public IBaseFilter Filter
        {
            get { return _filter; }
        }

        public MediaNotification Notification
        {
            get { return _notification; }
        }
    }

    public enum MediaNotification
    {
        Paused,
        Started,
        Stopped,
        Completed,
        Error
    }
}
